﻿using System;
using System.Net.Mail;


namespace HK.Service
{
	/// <summary>
	/// class SrvEmail - для работы с эл. почтой
	/// </summary>
	public static class Email
	{
		
		/// <summary>
		/// Отправляет почту с заданного с одного адреса на другой
		/// </summary>
		/// <param name="emailFrom">Адрес эл.почты с которого отправляется сообщение</param>
		/// <param name="emailTo">Адрес эл.почты на который отправляется сообщение</param>
		/// <param name="smtpAddres">Адрес сервера отправки сообщений</param>
		/// <param name="logOn">Имя пользователя для входа в эл.ящик</param>
		/// <param name="password">Пароль пользователя</param>
		/// <param name="subject">Тема сообщения</param>
		/// <param name="textMsg">Текст сообщения</param>
		/// <returns>Возвращает код 0 если отправка прошла нормально</returns>
		public static int SendEmail(string emailFrom, string emailTo, string smtpHost, 
		                      string logOn, string password, string subject, string textMsg)
		{
			System.Net.Mail.MailMessage mm = new System.Net.Mail.MailMessage();
			mm.From = new System.Net.Mail.MailAddress(emailFrom);
			mm.To.Add(new System.Net.Mail.MailAddress(emailTo));
			mm.Subject = subject;
			mm.IsBodyHtml = true;
			mm.Body = textMsg;
			System.Net.Mail.SmtpClient client = new System.Net.Mail.SmtpClient(smtpHost);
			client.Credentials = new System.Net.NetworkCredential(logOn, password);
			client.Send(mm);
			return 0;
		}
		
		/// <summary>
		/// Отправляет почту с домена Mail.ru
		/// </summary>
		/// <param name="emailTo">Адрес эл.почты на который отправляется сообщение</param>
		/// <param name="logOn">Имя пользователя для входа в эл.ящик</param>
		/// <param name="password">Пароль пользователя</param>
		/// <param name="subject">Тема сообщения</param>
		/// <param name="textMsg">Текст сообщения</param>
		public static void SendEmail_FromMailRu(string emailTo, string logOn, 
		                                 string password, string subject, string textMsg)
		{
			string emailFrom;
			
			emailFrom = logOn + "@mail.ru";
			logOn = emailFrom;
			
			SendEmail(emailFrom, emailTo, "smtp.mail.ru", logOn, password, subject, textMsg);
		}
		
		/// <summary>
		/// Отправляет эл.почту с ящика kokonev@mail.ru
		/// </summary>
		/// <param name="emailTo">Адрес эл.почты на который отправляется сообщение</param>
		/// <param name="subject">Тема сообщения</param>
		/// <param name="textMsg">Текст сообщения</param>
		public static void SendEmail_FromMailRuKokonev(string emailTo, string subject, string textMsg)
		{
			SendEmail_FromMailRu(emailTo, "kokonev", "i1074761", subject, textMsg);
		}
	}
}
